home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok03.lha / Gels / vsprites.mod < prev    next >
Text File  |  1993-08-15  |  3KB  |  113 lines

  1. MODULE VSprites;
  2.  
  3. FROM Arts IMPORT     TermProcedure,BreakPoint,Assert;
  4.  
  5. FROM SYSTEM IMPORT    ADR,ADDRESS,WORD;
  6.  
  7. FROM Exec IMPORT    UByte;
  8.  
  9. FROM GfxMacros IMPORT    InitAnimate;
  10.  
  11. FROM Graphics IMPORT    ViewModeSet,InitGels,VSpriteFlags,VSpriteFlagSet, 
  12.                         InitMasks,AddBob,SortGList,DrawGList,(*collTable,*)
  13.                         BobFlags,BobFlagSet,WaitTOF,SetAPen,Move,Draw,
  14.                         VSpritePtr,BobPtr,GelsInfoPtr,AllocRaster,FreeRaster,
  15.                         ViewPortPtr,RastPortPtr,AddVSprite,RemVSprite;
  16.  
  17. FROM Intuition IMPORT    ShowTitle,RemakeDisplay;
  18.  
  19. FROM Heap IMPORT     AllocMem;
  20.  
  21. FROM ImgDat IMPORT    AIR1,AIR2,Imgheight,ImgPtr;
  22.  
  23. FROM OpenBDW IMPORT    SCRH,SCRW,OpenBackDrop,ScreenP,BDWindowP;
  24.     
  25. FROM GelMacros IMPORT    MakeVSprite;
  26.  
  27. VAR    MyVPort            :ViewPortPtr;
  28.       MyRPort            :RastPortPtr;
  29.       i             :LONGCARD;
  30.  
  31.         (* Für die VSprites *)
  32.         
  33.         VSprPt             :ARRAY [AIR1..AIR2] OF VSpritePtr;
  34.         ColorSet1,ColorSet2    :ARRAY [0..2] OF CARDINAL;
  35.         
  36.         (* für den Loop *)
  37.         
  38.       Ciapra [0BFE001H]    : SET OF (s0,s1,s2,s3,s4,s5,lmb);
  39.   
  40.  
  41. PROCEDURE CleanUp;
  42.   BEGIN
  43.  END CleanUp;
  44.  
  45. BEGIN (*MAIN*)            
  46.   
  47.   (************************************************************************)
  48.   (*** Alles vorbereiten, Screen und Fenster auf             ***)
  49.   (************************************************************************)
  50.   
  51.   TermProcedure(CleanUp);
  52.   OpenBackDrop(2);
  53.   ShowTitle(ScreenP,TRUE);
  54.   MyRPort:=BDWindowP^.rPort;
  55.   MyVPort:=ADR(ScreenP^.viewPort);
  56.   
  57.   ColorSet1[0]:=0F0BH;
  58.   ColorSet1[1]:=0000H;
  59.   ColorSet1[2]:=0F0EH;
  60.   ColorSet2[0]:=0FF9H;
  61.   ColorSet2[1]:=0000H;
  62.   ColorSet2[2]:=0FFEH;
  63.   
  64.   MakeVSprite(    VSprPt[AIR1],Imgheight,ImgPtr[AIR1],ColorSet1,100,50,1,2,
  65.            VSpriteFlagSet{vsprite},0,0,MyRPort);
  66.   AddVSprite(VSprPt[AIR1],MyRPort);
  67.  
  68.   MakeVSprite(    VSprPt[AIR2],Imgheight,ImgPtr[AIR2],ColorSet2,105,52,1,2,
  69.            VSpriteFlagSet{vsprite},0,0,MyRPort);
  70.   AddVSprite(VSprPt[AIR2],MyRPort);
  71.                
  72. (*
  73.     VSprPt[0]^.x:=VSprPt[0]^.x+1; 
  74.     VSprPt[1]^.x:=VSprPt[1]^.x+1 ;
  75. *)
  76.   
  77.   WHILE lmb IN Ciapra DO
  78.     VSprPt[0]^.x:=VSprPt[0]^.x+4; 
  79.     VSprPt[1]^.x:=VSprPt[1]^.x+5;
  80.     VSprPt[0]^.y:=VSprPt[0]^.y+1; 
  81.     VSprPt[1]^.y:=VSprPt[1]^.y+1;
  82.     SortGList(MyRPort);
  83.     DrawGList(MyRPort,MyVPort);
  84.     WaitTOF();
  85.     RemakeDisplay;
  86.   END;
  87.  
  88.   BreakPoint(ADR("Stop that yellow Balloon!"));
  89.   
  90.   WHILE lmb IN Ciapra DO
  91.     VSprPt[0]^.x:=VSprPt[0]^.x+4; 
  92.     VSprPt[0]^.y:=VSprPt[0]^.y+1; 
  93.     VSprPt[1]^.y:=VSprPt[1]^.y+1;
  94.     SortGList(MyRPort);
  95.     DrawGList(MyRPort,MyVPort);
  96.     WaitTOF();
  97.     RemakeDisplay;
  98.   END;
  99.  
  100.   BreakPoint(ADR("Remove the purple one!"));
  101.   RemVSprite(VSprPt[0]);
  102.  
  103.   WHILE lmb IN Ciapra DO
  104.     VSprPt[1]^.y:=VSprPt[1]^.y+1;
  105.     SortGList(MyRPort);
  106.     DrawGList(MyRPort,MyVPort);
  107.     WaitTOF();
  108.     RemakeDisplay;
  109.   END;
  110.  
  111. END VSprites.
  112.  
  113.